home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 17 / AMIGAplus Sonderheft 17 (1999)(ICP)(DE)[!].iso / dsound / source.lha / DSound.h < prev    next >
C/C++ Source or Header  |  1994-07-18  |  2KB  |  63 lines

  1.  
  2. typedef enum channel {MONO_LEFT,MONO_RIGHT,MONO_BOTH,STEREO,STEREO_LEFT,
  3.          STEREO_RIGHT,STEREO_LEFT_BOTH,STEREO_RIGHT_BOTH,
  4.           UNSPECIFIED} channel;
  5.  
  6. struct IOAudio *GetAudioChannel(ULONG bufferSize,UBYTE *allocationMap);
  7. void FreeAudioChannel(struct IOAudio *aIOB);
  8. void InitAudioChannel(struct IOAudio *aIOB,UWORD volume,UWORD period);
  9. struct IOAudio *DuplicateAudioChannel(struct IOAudio *OrigIOB);
  10. void DeleteDuplication(struct IOAudio *aIOB);
  11. ULONG LoadAudioBuffer(BPTR file,struct IOAudio *aIOB,ULONG toRead);
  12. char *FindChunk(BPTR file,char *string);
  13. void Position(BPTR file,char *string);
  14. void WriteMsg(char *errMsg);
  15. void playMonoSample(BPTR file,channel audioChannel,struct Voice8Header *vhdr,
  16.             ULONG len);
  17. void playStereoSample(BPTR leftFile,channel audioChannel,
  18.               struct Voice8Header *vhdr, ULONG length, char *filename);
  19. void playMonoTwice(BPTR file,channel audioChannel,struct Voice8Header *vhdr,
  20.            ULONG length);
  21. BPTR dupFileHandle(BPTR origFile,char *filename);
  22. ULONG getPosInFile(BPTR file);
  23. void cleanup(int err);
  24.  
  25. /* Mem.c */
  26. void storeLeft(BPTR file,ULONG length,ULONG blockLength);
  27. void deleteLeft(void);
  28. void getLeft(APTR dest);
  29.  
  30. void storeRight(BPTR file,ULONG length,ULONG blockLength);
  31. void deleteRight(void);
  32. void getRight(APTR dest);
  33.  
  34. typedef struct Voice8Header
  35. {
  36.    ULONG oneShotHiSamples,
  37.      repeatHiSamples,
  38.      samplesPerHiCycle;
  39.    UWORD samplesPerSec;
  40.    UBYTE ctOctave,sCompression;
  41.    LONG volume;
  42. };
  43.  
  44. #define MIN(x,y) ( (x) < (y) ) ? (x) : (y)
  45.  
  46.  
  47. char *getLength(ULONG length);
  48. char *getRate(struct Voice8Header *vhdr);
  49. char *getTime(ULONG numSecs);
  50.  
  51. UWORD textToPixelX(UWORD fontUnits);
  52. UWORD textToPixelY(UWORD fontUnits);
  53. UWORD defFontBaseline();
  54. void drawBevelBoxes(char *time,char *size,char *rate, char *filename);
  55. void installGadgets();
  56. void updateTime(ULONG numSecs);
  57.  
  58. void swapPointers(struct IOAudio **first,struct IOAudio **second);
  59. void updateSampleInfo(unsigned int currentPos,unsigned int length,
  60.               unsigned int sampleRate);
  61.  
  62.  
  63.